interface FormItemProps {
  id?: number;
  /** 用于判断是`新增`还是`修改` */
  title?: string;
  affiliatedUnit: string;
  allAuthor: string;
  cnNum: string;
  correspondingAuthor: string;
  doi: string;
  firstAuthor: string;
  firstAuthorType: string;
  firstSubject: string;
  hireDate: string;
  hireFiles: string;
  includeLevel: string;
  threeHighCategory: string;
  interNum: string;
  layout: string;
  meetingName: string;
  obtainReward: string;
  obtainRewardFiles: string;
  paperName: string;
  paperPartition: string;
  paperType: string;
  proceedings: string;
  relyProject: string;
  schoolSignature: string;
  searchDate: string;
  searchFiles: string;
  secondAuthor: string;
  secondAuthorType: string;
  showSecondAuthor?: boolean;
  seeDate: string;
  seeFiles: string;
  subject: string;
  submitDate: string;
  submitFiles: string;
  volumePage: string;
  firstUnit: number;
  transformPrice: number;
  userIds: Array<number>;
  score: number;
  examineStatus?: number;
  examineDesc?: string;
}

interface FormProps {
  formInline: FormItemProps;
  dataId?: number;
  userList?: any[];
}

interface RoleFormItemProps {
  username: string;
  nickname: string;
  /** 角色列表 */
  roleOptions: any[];
  /** 选中的角色列表 */
  ids: Record<number, unknown>[];
}
interface RoleFormProps {
  formInline: RoleFormItemProps;
}

export type { FormItemProps, FormProps, RoleFormItemProps, RoleFormProps };
